package com.hqyj.finance.server.invest.financeinvest.entity;


import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.Version;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.MappedSuperclass;
import java.io.Serializable;


//JPA老人家发现并没有一个名字叫base-entity表。
//所有实体类的基类（父类）
@MappedSuperclass //父类不会映射为表
@Data
public class BaseEntity implements Serializable,Cloneable {

    @TableField(fill = FieldFill.INSERT)  //@TableField表示自动填充自动。FieldFill.INSERT //表示执行新增的时候，自动填充值。
    @Column(length = 32)
    protected String createTime; //新增的时间和日期

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @Column(length = 32)
    protected String modifyTime; //更新的时间或者日期

    @TableLogic //表示是逻辑删除字段
    @TableField(fill = FieldFill.INSERT)
    protected boolean flag = false; //是否已经删除。逻辑删除字段


    @Version  //表示乐观锁字段
    @TableField(fill = FieldFill.INSERT)
    protected Integer version = 0; //乐观锁字段
}

